﻿#include<iostream>
using namespace std;
#include<vector>
#include<algorithm>

//删除排序数组中的重复项
//class Solution {
//public:
//    int MoreThanHalfNum_Solution(vector<int> numbers)
//    {
//        int max = numbers[0], min = numbers[0];
//        for (auto& n : numbers)
//        {
//            if (n > max)
//            {
//                max = n;
//            }
//            if (n < min)
//            {
//                min = n;
//            }
//        }
//
//        int range = max - min + 1;
//        vector<int> tmp(range, 0);
//        for (int sub = 0; sub < numbers.size(); ++sub)
//        {
//            ++tmp[numbers[sub] - min];
//        }
//        max = 0;
//        int sub = 0;
//        for (int sub = 0; sub < tmp.size(); ++sub)
//        {
//            if (tmp[sub] > tmp[max])
//            {
//                max = sub;
//            }
//        }
//        return max + min;
//    }
//};


//删除排序数组中的重复项 暴力算法+提效算法
//class Solution {
//public:
//    int removeDuplicates(vector<int>& nums)
//    {
//        auto it = nums.begin();
//        while (it != nums.end() - 1)
//        {
//            if (*(it) == *(it + 1))
//            {
//                nums.erase((it));
//                it = nums.begin();
//            }
//            else
//            {
//                ++it;
//            }
//
//        }
//        return nums.size();
//    }
//};
//
//class Solution {
//public:
//    int removeDuplicates(vector<int>& nums) {
//        int j = 1;
//        for (int i = 1; i < nums.size(); ++i)
//        {
//            if (nums[i] != nums[i-1])
//            {
//                nums[j++] = nums[i];
//            }
//        }
//        nums.resize(j);
//        return j;
//    }
//};


